Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile device client binaries as Release build type #422

Merged
merged 1 commit into from
Aug 3, 2023

Conversation

marcoemorais-aws
Copy link
Contributor

Motivation

  • The device client binary we publish to public ecr is using a Debug build which results in a binary size of 32M in comparison to the Release build which produces a binary of 6M.

Modifications

Change summary

Modify the release type of the device client builds used in Dockerfile from Debug to Relase

Revision diff summary

If there is more than one revision, please explain what has been changed since the last revision.

Testing

32M binary compiled using Debugcmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Debug .. && cmake --build . --target aws-iot-device-client

root@6a67a591380f:/src/build-release# ls -lh aws-iot-device-client 
-rwxr-xr-x 1 root root 32M Aug  2 01:08 aws-iot-device-client
root@6a67a591380f:/src/build-release# ./aws-iot-device-client --version
v1.8.27-a0d1cf4

6M binary compiled using Releasecmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release .. && cmake --build . --target aws-iot-device-client

root@1c3cee53a3c8:/src/build-release# ls -lh ./aws-iot-device-client 
-rwxr-xr-x 1 root root 6.4M Aug  2 22:15 ./aws-iot-device-client
root@1c3cee53a3c8:/src/build-release# ./aws-iot-device-client --version
v1.8.27-a0d1cf4

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@marcoemorais-aws marcoemorais-aws merged commit 95db8c9 into main Aug 3, 2023
83 checks passed
@marcoemorais-aws marcoemorais-aws deleted the release-build-type branch August 3, 2023 00:02
HarshGandhi-AWS added a commit that referenced this pull request Dec 20, 2023
* Updated SDK commit to use the latest SDK code

* Addressed reviewers comments and updated unit tests to support the change

* Resolved indentation errors

* Resolved indentation errors

* Resolved indentation errors

* Resolved indentation errors

* Resolved indentation errors

* update device mqtt connection logic

* removing DC initialization code to create multiple lock files

* addressed reviewers comments to resolve test failures

* resolved unit test failure

* remove MemoryTrace unit test

* resolved Lint errors

* explicitly calling the code in SharedCrtManager to initialize allocator and api handle. This will resolve the Sensor pullish unit tests which manually creates and initializes allocator and eventloop.

* addressed lint errors

* addressed lint errors

* addressed reviewers comment and added the config serialization test back

* Update GTestMain.cpp to not cleanup resources after testing is completed

This change will be reverted later. Added this to investigate DD integ test failure

* Update e2e-tests-ubutu-x86 test to skip secure tunneling test

* Compile device client binaries as Release build type (#422)

* update sdk commit again

* Updated code to shutdown on tunnel close callback and updated zlib dependency version(#426)

* updated code to shutdown on tunnel close callback

* addressed lint errors
  
* addressed lint errors

* addressed lint errors

* updated zlib version

* updated zlib version

* updated comment

* Updated Secure Tunneling close logic for Secure Tunneling Component (#427)

* Updated tunnel shutdown logic for Secure Tunneling component

* removed extra log statement

* Added null check before closing connection (#429)

* fixed bug to read SIGTERM signal when sent form kernal (#430)

* Fix docker-build.sh (#423)

There is an additional level of indirection required for the script to be able to build the container.

Co-authored-by: Miguel Cano <[email protected]>

* Updated google-test lib version to v1.12.0 (#431)

* disabled jobs and secure tunneling if they are not compiled into binary (#436)

* Update Dockerfile OpenSSL version (#435)

* Update Dockerfile

* Update README.md

* Removed number of slash validation for MQTT topics (#438)

* conflict fix

* add http proxy support for secure tunneling

* cleanup http proxy changes

* fix format

* fix format

---------

Co-authored-by: marco morais <[email protected]>
Co-authored-by: RogerZhongAWS <[email protected]>
Co-authored-by: RogerZhongAWS <[email protected]>
Co-authored-by: Miguel Cano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants